package com.ruicar.afs.cloud.basic.api.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.modules.contract.enums.RepaymentStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author: Lee
 * @date: 2020/5/11 19:39
 * @description: 还款计划dto
 */
@Data
public class RepaymentPlanDTO {
    /** 合同编号 */
    @ApiModelProperty("合同编号")
    private String contractNo;
    /** 期数 */
    @ApiModelProperty("期数")
    private Integer termNo;
    /** 应还款日期 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("应还款日期")
    private Date dueDate;
    /** 实际收款日期 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("实际收款日期")
    private Date actualPaymentDate;
    /** 剩余本金 */
    @ApiModelProperty("剩余本金")
    private BigDecimal remainPrinciple;
    /** 应收租金 */
    @ApiModelProperty("应收租金")
    private BigDecimal receivableRent;
    /** 应收本金 */
    @ApiModelProperty("应收本金")
    private BigDecimal receivablePrinciple;
    /** 应收利息 */
    @ApiModelProperty("应收利息")
    private BigDecimal receivableInterest;
    /** 实收租金 */
    @ApiModelProperty("实收租金")
    private BigDecimal actualRent;
    /** 实收本金 */
    @ApiModelProperty("实收本金")
    private BigDecimal actualPrinciple;
    /** 实收利息 */
    @ApiModelProperty("实收利息")
    private BigDecimal actualInterest;
    /** 收入 */
    @ApiModelProperty("收入")
    private BigDecimal income;
    /** 税金 */
    @ApiModelProperty("税金")
    private BigDecimal tax;
    /** 税率 */
    @ApiModelProperty("税率")
    private BigDecimal rate;
    /** 状态 枚举值：未还、已还、逾期、合同取消、提前结清 */
    @ApiModelProperty("状态 枚举值：未还、已还、逾期、合同取消、提前结清")
    private RepaymentStatusEnum status;
}
